package cn.tedu.ivoscm.audit.pojo.vo;

import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.util.Date;
import java.util.List;

@Data
public class AuditVO {
    @ApiModelProperty(value = "审核ID")
    private Long id;
    @ApiModelProperty(value = "申请ID")
    private Long applicationId;
    @ApiModelProperty(value = "审核人ID")
    private Long auditUserId;
    @ApiModelProperty(value = "审核状态")
    private String auditStatus;
    @ApiModelProperty(value = "审核排序")
    private Integer auditSort;

    // 申请信息字段（页面上也需要看到详情才能进行审批事务）
    @ApiModelProperty(value = "申请人ID")
    private Long userId;
    @ApiModelProperty(value = "申请人姓名")
    private String username;
    @ApiModelProperty(value = "开始时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date startTime;
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    @ApiModelProperty(value = "结束时间")
    private Date endTime;
    @ApiModelProperty(value = "图片地址")
    private String imgUrl;
    @ApiModelProperty(value = "出发地")
    private String departureAddr;
    @ApiModelProperty(value = "目的地")
    private String destinationAddr;
    @ApiModelProperty(value = "申请原因")
    private String reason;
    @ApiModelProperty(value = "备注")
    private String remark;
    @ApiModelProperty(value = "申请状态")
    private String status;
    @ApiModelProperty(value = "车辆ID")
    private Long vehicleId;
    @ApiModelProperty(value = "驳回申请原因")
    private String rejectReason;
    @ApiModelProperty(value = "创建时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date createTime;
    @ApiModelProperty(value = "审核人ID集合")
    private List<Long> auditUserIdList;  // [106, 103]
    @ApiModelProperty(value = "审核人姓名字符串")
    private String auditUserNameList;  // "moly, tom"
}
